﻿/*
培训任务的添加修改
*/
//
angular.module('trainingTaskAddEdit', ['vModal', 'loadModule','wangeditordrective', 'knowledgeSelector', 'PensonSelector','Common','knowledgebaseS'])
// 设置焦点 标签用
.directive('setFocus', function () {
     return function (scope, element) {
         element[0].focus();
     };
 })
 .directive("trainingTaskAddEdit", ["$rootScope", "$stateParams", "$timeout", "Msg","RequestTrainService", "sysUserInfo",function ($rootScope, $stateParams, $timeout, Msg,RTS,sysUserInfo) {
     return {
         restrice: "AE",
         scope: {
             isSaveBtn: "=",
             taskObj: "=",   // 培训计划对象
             onClose: "&",    //关闭窗口       
             onSave: "&",      //保存对象到服务器                     
             uploader:"=",  // 上传对象
         },
         templateUrl: "/system/directive/train/trainingtask/training_task_add_edit.html",
         link: function (scope, element, attr) {
          //配置富文本编辑器的按钮
             scope.configbtnjishiben = ['undo', 'redo', '|', 'bold', 'underline', 'italic', 'strikethrough', 'eraser', 'forecolor', '|', 'quote', 'fontsize', 'head', 'unorderlist', 'orderlist', 'alignleft', 'aligncenter', 'alignright', '|', 'img', 'insertcode'];
             //富文本编辑器配置
             scope.showfileTxt = false;
             scope.showFileText = function () {
                 scope.showfileTxt = !scope.showfileTxt;
             }
            
             scope.showMore=false;
             
             scope.fileChange = function(obj){
                console.log(obj);
             }
             //恢复默认图
             scope.defaultImg=function(){
                scope.taskObj.img="/images/train/fengmian098.png";
             }
            scope.mousePosition = function (ev) {
                if (!ev) {
                    ev = window.event;
                }

                if (ev.type != "click") {
                    return;
                }
                var width = 0;
                var height = 0;
                if (ev.pageX || ev.pageY) {//firefox、chrome等浏览器
                    if (document.documentElement.clientWidth - ev.pageX < 450) {
                        width = ev.pageX - (450 - (document.documentElement.clientWidth - ev.pageX)) - 20;
                    } else {
                        width = ev.pageX;
                    }
                    if (document.documentElement.clientHeight - ev.pageY < 480) {
                        height = ev.pageY - (480 - (document.documentElement.clientHeight - ev.pageY)) - 20;
                    } else {
                        height = ev.pageY;
                    }

                    return { "left": width + "px", "top": height + "px", "position": "fixed" };
                }

                return {// IE浏览器
                    "left": ev.clientX + document.body.scrollLeft - document.body.clientLeft,
                    "top": ev.clientY + document.body.scrollTop - document.body.clientTop
                };
            }
            // 初始化
            scope.init = function(){
                // 选中文件初始化               
                scope.kssTaskList=[];  // 知识结构
                scope.kscTaskList=[]; //课程
                scope.kseTaskList=[]; // 试卷
                scope.ksfTaskList=[]; // 文件      
                // 当前选中的阶段
                scope.selStageFlag = 1;  
                if(scope.taskObj.arragetype== null || scope.taskObj.arragetype =='' || scope.taskObj.arragetype.length <=0 ){
                    scope.taskObj.arragetype=[{
                        arranges:[],
					    key:1,
                        keyName:"第1阶段",	
					    value:""              
                     }];
                } else{// 后台返回
                    scope.taskObj.arragetype= JSON.parse(scope.taskObj.arragetype);             
                    //编辑时如果没有小节名称
                    //需要给一个默认
                    angular.forEach(scope.taskObj.arragetype,function(data,index,array){
                            if(data.keyName == undefined||data.keyName.length<=0){
                                data.keyName="第"+data.key+"阶段";                           
                            }                                               
                    });  
                }

                
                //重置属性
                scope.taskObj.arragetype[0] = scope.isTaskNotNull(scope.taskObj.arragetype[0]);
                //展示      
                scope.kssTaskList  = scope.taskObj.arragetype[0].kssList;  // 知识结构
                scope.kscTaskList = scope.taskObj.arragetype[0].kscList;  //课程
                scope.kseTaskList = scope.taskObj.arragetype[0].kseList;  // 试卷
                scope.ksfTaskList  = scope.taskObj.arragetype[0].ksfList ; // 文件  
                // 人员选择器                
                 scope.stuData = {
                     menu:[{ //进入人员选择器的菜单
                        "id":"User"
                        },{ "id":"Org"},
                        {"id":"Group"},
                        {"id":"Role"}                
                     ],
                     ApiOpen: false,
                     windowModal:1,
                     style: "",                                      
                     ViceuserOrgList: [],
                     ViceuserRoleList: [],
                     ViceuserGroupList: [],
                     searchType: [],  //初始化教师查询
                     //searchTexts: ,  // 初始化教师查询
                     DB: "0",
                     DBdata: [],
                     UserList: [],
                     userOrgList:[],                 
                     userGroupList:[],
                     userRoleList:[]
                 }
                 // 扩展字段
                 if(!scope.taskObj.hasOwnProperty('arrage')){
                        scope.taskObj.arrage = {};
                 }else{ // 后台返回
                       scope.taskObj.arrage = JSON.parse(scope.taskObj.arrage);
                 }
                 //true必修，false选修
                 if(scope.taskObj.isStudy==undefined){
                    scope.taskObj.isStudy=true;
                 }
                 //邮件通知开关
                 if(scope.taskObj.arrage.send_flag==undefined){
                     scope.taskObj.arrage.send_flag=1;
                 }
                 //是否强制顺序学习
                 if(scope.taskObj.arrage.isOrder==undefined){
                    scope.taskObj.arrage.isOrder=false;
                }
                 //该任务的附件
                 if(scope.taskObj.arrage.ksfList==undefined){
                    scope.taskObj.arrage.ksfList=[];
                }
                //是否报名审核
                if(scope.taskObj.isReviewed==undefined){
                    scope.taskObj.isReviewed=false;
                }
                 // 定属性
                 scope.taskObj.arrage = scope.isUserNotNull(scope.taskObj.arrage);
                 //保存老的数据
                 scope.taskObj.oldarrage=angular.copy(scope.taskObj.arrage);
                 scope.taskObj.oldarragetype=angular.copy(scope.taskObj.arragetype);
                 // 向人员选择器中赋值
                 scope.stuData.UserList = scope.taskObj.arrage.userList; // 人员
                 scope.stuData.userOrgList = scope.taskObj.arrage.userOrganization;  // 部门
                 scope.stuData.userRoleList = scope.taskObj.arrage.userRole; // 角色
                 scope.stuData.userGroupList = scope.taskObj.arrage.userGroup;   // 组织机构          
                 
                 // 参与用户群的样式                
                if(scope.taskObj.is_public){
                    scope.stuParticipateStyle = { "background":"#eee"}; 
                }else{
                    scope.stuParticipateStyle={}; 
                }
            }
            // 人员中的对象
            scope.isUserNotNull = function(user){
                if(!user.hasOwnProperty('userList')) // 用户
                    user.userList = [];                        
                if(!user.hasOwnProperty('userOrganization')) // 部门
                    user.userOrganization = [];                         
                if(!user.hasOwnProperty('userRole')) //角色 
                    user.userRole = [];
                if(!user.hasOwnProperty('userGroup')) //用户组
                    user.userGroup = [];                 
                return user;                      
            }
             //判断数组中四属性是否存在
            scope.isTaskNotNull = function(list){                                       
                if(!list.hasOwnProperty('kssList')) // 知识结构
                    list.kssList = [];                        
                if(!list.hasOwnProperty('kseList')) // 试卷
                    list.kseList = [];                         
                if(!list.hasOwnProperty('ksfList')) // 文件 
                    list.ksfList = [];
                if(!list.hasOwnProperty('kscList')) //课程
                    list.kscList = [];                 
                return list;              
            }
            
            scope.init();
             //样式
            // 文本框的样式
            scope.taskNameStyle = {                
                "background-color": "#e1e1e1",
            };
            //获取焦点时样式
            scope.taskNameFocusStyle = function(){
                 scope.taskNameStyle = {                    
                    "background-color": "#e1e1e1",                    
                };
            };
            // 失去焦点时样式
            scope.taskNameBlurStyle = function(){
                scope.taskNameStyle = {                    
                    "background-color": "#eee",                    
                };
            };
            
            // 是否全部学员参与
            scope.checkedStuParticipate = function(){               
                if(scope.taskObj.is_public){    //选中状态                    
                    scope.taskObj.is_public = false;                
                    scope.stuParticipateStyle={};
                }else{
                    // // 初始化参与群
                    // scope.stuData.UserList=[]; // 人员
                    // scope.stuData.userOrgList= [];  // 部门
                    // scope.stuData.userRoleList = []; // 角色
                    // scope.stuData.userGroupList =[];   // 组织机构
                    scope.stuParticipateStyle = { "background":"#eee"};
                    scope.taskObj.is_public = true;       

                }
            }
            //强制学习切换
            scope.checkedOrder=function(){
                scope.taskObj.arrage.isOrder=!scope.taskObj.arrage.isOrder;
            }
            //是否发送邮件
            scope.checkedEmail=function(){
                //2是发送邮件
                if(scope.taskObj.arrage.send_flag==2||scope.taskObj.arrage.send_flag=="2"){
                    scope.taskObj.arrage.send_flag=1;
                }else{
                    scope.taskObj.arrage.send_flag=2;
                }
            
            }
                   
             /******************知识选择器**********************/                                  
            //配置知识选择器
            scope.knowConfig = {   // 配置知识选择器的参数
                menu: ["courseware","examination","taskStructure"],
                windowSize:"standard", //  窗口类型 standard:标准(默认)  mini :迷你
//                kssMore:true, //知识结构 是否多选
//                kssList:[],    // 知识结构选中列表
                kstMore:true, //任务中的知识结构 是否多选
                kstList:[],    // 任务中的知识结构选中列表
                kscMore:true, // 课程列表是否多选
                kscList:[], // 课程选中列表
                kseMore:true, // 试卷列表是否多选
                kseList:[], // 试卷选中列表
               ksfMore:true, //文件是否多选
                ksfList:[], // 文件列表
                ksfType:0, // 文件类型 默认空  0 全部  1 文档 2 视频
//                ksqMore:false, // 题目多选
//                ksqList:[], // 题目列表
                isShow:false,  // 显示知识选择器
                showShareCourse:true,
                callbackParams:{   //回调操作型参数 选择填写参数   配合回调方法使用
                    isClose:true             
                }
            };
             //配置文件选择器
            scope.fileConfig = {   // 配置知识选择器的参数
                menu: ["file"],
                windowSize:"standard", //  窗口类型 standard:标准(默认)  mini :迷你
               ksfMore:true, //文件是否多选
                ksfList:[], // 文件列表
                ksfType:0, // 文件类型 默认空  0 全部  1 文档 2 视频
                isShow:false,  // 显示知识选择器
                callbackParams:{   //回调操作型参数 选择填写参数   配合回调方法使用
                    isClose:true             
                }
            };
            //打开文件选择器
            scope.selFile=function(){
                 scope.fileConfig.ksfList  = scope.taskObj.arrage.ksfList;
                  scope.fileConfig.isShow = true;
            }
            // 知识选择器的回调
            scope.onCallback = function(){              
                 //兼容选修必修
                //1选修，2必修
                scope.kscTaskList.forEach(function(data,index){
                    if(data.studyType==undefined){
                        data.studyType="";
                    }
                });     
            }   
            //文件选择器的回调
           scope.onFileCallback = function(){       
               if(scope.fileConfig.ksfList.length>5){
                  scope.taskObj.arrage.ksfList.splice(5,scope.taskObj.arrage.ksfList.length-5);
               }      
           }
            // 打开知识选择器
            scope.modifyOrder = function (item) {
                //如果没有阶段的时候那么自动新增一下阶段   
                if(scope.taskObj.arragetype.length <=0 ){ 
                    scope.addStageObj();
                }
                scope.knowConfig.isShow = true;                
                //展示List
                //重置属性              
                scope.taskObj.arragetype[scope.selStageFlag-1] = scope.isTaskNotNull(scope.taskObj.arragetype[scope.selStageFlag-1]);                                                         
                //scope.knowConfig.kssList  = scope.taskObj.arragetype[scope.selStageFlag-1].kssList;  // 知识结构                                                                            
                scope.knowConfig.kstList  = scope.taskObj.arragetype[scope.selStageFlag-1].kssList;  // 任务中的知识结构                                                                              
                scope.knowConfig.kscList =  scope.taskObj.arragetype[scope.selStageFlag-1].kscList ; //课程
                scope.knowConfig.kseList =  scope.taskObj.arragetype[scope.selStageFlag-1].kseList ; // 试卷
                scope.knowConfig.ksfList  = scope.taskObj.arragetype[scope.selStageFlag-1].ksfList  ; // 文件                 
            }
            
            // 新增阶段       
            scope.addStageObj = function(){                 
                scope.taskObj.arragetype.push({ // 添加一个阶段
                    arranges:[],
					key:scope.taskObj.arragetype.length+1,	
                    keyName:"第"+(scope.taskObj.arragetype.length+1)+"阶段",
					value:""        
                });    
                // 当前选中的阶段
                scope.selStageFlag = scope.taskObj.arragetype.length;  
                scope.taskObj.arragetype[scope.selStageFlag-1] = scope.isTaskNotNull(scope.taskObj.arragetype[scope.selStageFlag-1]);              
                // 重新绑定一次
                scope.kssTaskList= scope.taskObj.arragetype[scope.selStageFlag-1].kssList;   // 知识结构
                scope.kscTaskList= scope.taskObj.arragetype[scope.selStageFlag-1].kscList ; //课程
                scope.kseTaskList= scope.taskObj.arragetype[scope.selStageFlag-1].kseList ; // 试卷
                scope.ksfTaskList= scope.taskObj.arragetype[scope.selStageFlag-1].ksfList  ; // 文件                      
                Msg.success('添加了：第'+scope.taskObj.arragetype.length+'阶段');           
                 //兼容选修必修
                 scope.kscTaskList.forEach(function(data,index){
                    if(data.studyType==undefined){
                        data.studyType="";
                    }
                });       
            }
            //验证小节名称是否为null
            //为空给默认
            scope.editItemName=function(item){
                if(item.keyName==undefined||item.keyName.length<=0){
                    item.keyName="第"+item.key+"阶段";
                }
            }
            // 删除阶段
            scope.delStageObj = function(item){                                         
                
                // 标志新生选中阶段
                scope.newStage = item.key - 1;
                //判断是不是最后节点   not 第一节点
                if(item.key == scope.taskObj.arragetype.length){//结束阶段
                    scope.newStage = item.key - 2;//由于非结束阶段有后覆盖前的操作所以 -1 即可，这里没有任何覆盖操作所以要-2.
                }else{ // 中间阶段                   
                    for (var i = item.key-1; i < scope.taskObj.arragetype.length-1; i++) { //把后面的向前靠
                            scope.taskObj.arragetype[i] = scope.taskObj.arragetype[i+1];
                            scope.taskObj.arragetype[i].key = i+1;//重新设置顺序
                    }       
                }        
                if(scope.newStage >=0){ // 非第一个节点
                    //重置属性
                    scope.taskObj.arragetype[scope.newStage] = scope.isTaskNotNull(scope.taskObj.arragetype[scope.newStage]);
                    //展示List
                    scope.kssTaskList  = scope.taskObj.arragetype[scope.newStage].kssList ;  // 知识结构
                    scope.kscTaskList = scope.taskObj.arragetype[scope.newStage].kscList ; //课程
                    scope.kseTaskList = scope.taskObj.arragetype[scope.newStage].kseList ; // 试卷
                    scope.ksfTaskList  = scope.taskObj.arragetype[scope.newStage].ksfList ; // 文件 
                    // 当前选中的阶段                
                    scope.selStageFlag = item.key == scope.taskObj.arragetype.length ? item.key-1 : item.key;  // item.key 已删除但是所有的信息前移一位
                }else{//删除了最后剩余的
                    scope.selStageFlag = 1;
                    scope.kssTaskList = [];
                    scope.kscTaskList =[];
                    scope.kseTaskList = [];
                    scope.ksfTaskList= [];
                }                                
                // 删除最后一个
                scope.taskObj.arragetype.splice(scope.taskObj.arragetype.length-1,1);
                Msg.info('删除了：第'+item.key+'阶段');
            }
            // 删除阶段中的文件
            scope.delStageFile = function(item,type){            
                switch (type) {
                    case "1":   // 课程
                        angular.forEach(scope.taskObj.arragetype[scope.selStageFlag-1].kscList,function(data,index,array){
                            if(data.course_Id == item.course_Id){
                                scope.taskObj.arragetype[scope.selStageFlag-1].kscList.splice(index,1); ; //课程                            
                                return;
                            }                                               
                        });                    
                    break;                    
                    case "2":   // 试卷
                        angular.forEach(scope.taskObj.arragetype[scope.selStageFlag-1].kseList,function(data,index,array){
                            if(data.paperId == item.paperId){
                                scope.taskObj.arragetype[scope. selStageFlag-1].kseList.splice(index,1); ; //试卷                            
                                return;
                            }                                               
                        });                           
                    break;                    
                    case "3":   // 知识结构
                        angular.forEach(scope.taskObj.arragetype[scope.selStageFlag-1].kssList,function(data,index,array){
                            if(data.knowledge_Id == item.knowledge_Id){
                                scope.taskObj.arragetype[scope.selStageFlag-1].kssList.splice(index,1); ; //知识结构                            
                                return;
                            }                                               
                        });          
                    break;
                    case "4":   // 文件
                        angular.forEach(scope.taskObj.arragetype[scope.selStageFlag-1].ksfList,function(data,index,array){
                            if(data.upId == item.upId){
                                scope.taskObj.arragetype[scope.selStageFlag-1].ksfList.splice(index,1); ; //文件                            
                                return;
                            }                                               
                        });    
                    break;
                }
            } 
           //选中阶段
           scope.selStageObj = function(item){
                //重置属性
                item = scope.isTaskNotNull(item);
                //赋值展示信息            
                scope.kssTaskList  = item.kssList  ;  // 知识结构
                scope.kscTaskList = item.kscList ; //课程
                scope.kseTaskList = item.kseList ; // 试卷
                scope.ksfTaskList  = item.ksfList ; // 文件 
                // 当前选中的阶段
                scope.selStageFlag = item.key;  
                //兼容选修必修
                //1选修，2必修
                scope.kscTaskList.forEach(function(data,index){
                    if(data.studyType==undefined){
                        data.studyType="";
                    }
                });
           }
            /******************知识选择器结束**********************/               
            /*****************************人员选择器开始**************************************/
            
             // 选择用户群
             scope.selTaskStu = function(event){
                scope.stuData.style=scope.mousePosition(event);
                scope.stuData.ApiOpen = true;                           
             }
             // 删除用户群
             scope.delStu = function(item,type){
                switch (type) {
                    case "1":   // 用户
                         angular.forEach(scope.stuData.UserList,function(data,index,array){
                            if(data.user_ID == item.user_ID){
                                scope.stuData.UserList.splice(index,1); //删除当前的
                                return;                           
                            }                                 
                         });                     
                    break;  
                    case "2":    // 部门                    
                         angular.forEach(scope.stuData.userOrgList,function(data,index,array){
                            if(data.organization_ID == item.organization_ID){
                                scope.stuData.userOrgList.splice(index,1); //删除当前的
                                return;                           
                            }                                 
                        });
                    break;
                    case "3":   // 角色                     
                      angular.forEach(scope.stuData.userRoleList,function(data,index,array){
                            if(data.roles_ID == item.roles_ID){
                                scope.stuData.userRoleList.splice(index,1); //删除当前的
                                return;                           
                            }                                 
                        });
                    break;
                    case "4":   // 用户组                    
                        angular.forEach(scope.stuData.userGroupList,function(data,index,array){
                            if(data.userGroup_ID == item.userGroup_ID){
                                scope.stuData.userGroupList.splice(index,1); //删除当前的
                                return;                           
                            }                                 
                        });
                    break;
                }
             }
             //$watch 接收3个参数，前两个是必选的，第一个为监听的对象或者属性,也可以监听一个函数，第二个为被监听对象或者属性变化时的回调，
             //第三个为true，表示深度监听
            //当为true的时候监听的第一个为对象时，对象的某个属性发生改变也会监听到并触发回调，没写默认false对象某个属性发生改变不会触发回调
            //回调参数接收3个参数，第一个为新值，第二个为旧值,前面监听的是什么回调里的就是前面监听的对象或者属性或者函数
            //监听 部门 角色 用户组 人员 stuData.ApiOpen
            // 处理任务名称
            scope.isOpenStu = false; // 隔绝第一次
             scope.$watch('stuData.ApiOpen', function (newValue, oldValue, scope) {
                    // 向人员选择器中赋值 全选会出现选择失败的问题 所以要监听一下
                    scope.taskObj.arrage.userList  = scope.stuData.UserList; // 人员
                    scope.taskObj.arrage.userOrganization = scope.stuData.userOrgList;  // 部门
                    scope.taskObj.arrage.userRole = scope.stuData.userRoleList; // 角色
                    scope.taskObj.arrage.userGroup = scope.stuData.userGroupList;   // 组织机构         
                   
                    scope.isOpenStu = true;
             },true);            
            /*****************************人员选择器结束**************************************/            
      
            /********************培训时间开始*************************/
            // 设置培训类型   0 不限制 1周期 2 天
            scope.setDateType=function(ind){
                scope.taskObj.date_formate = ind;
            }
            // 设置精确时间
//            scope.exactTime = function(){
//                if(scope.taskObj.fine_time){
//                    scope.taskObj.fine_time = false;
//                }else{
//                    scope.taskObj.fine_time = true;
//                }
//            }                     
            //日期选择
            scope.GetDate = function () {
                scope.taskObj.start_Date= document.getElementById("startTaskDate").value;
                scope.taskObj.end_Date= document.getElementById("endTaskDate").value;
            }
            // 精确时间选择
            scope.GetTime = function(){
                scope.taskObj.start_time= document.getElementById("startTime").value;
                scope.taskObj.end_time= document.getElementById("endTime").value;
            }           
            //培训时间
            scope.trainDateHide = function(){
                scope.trainDate = false;
            }
            // 培训结果
            scope.trainResHide = function(){
                scope.trainRes = false;
            }
            /********************培训时间结束*************************/
            // 保存
            scope.btnSave = function(){

                if (scope.taskObj.name==undefined||scope.taskObj.name==null||scope.taskObj.name.length<=0){
                    Msg.warning("请输入任务名称！");
                    return;
                }
                //判断参与人员
                if (!scope.taskObj.is_public&&!scope.isUserNull()){
                    Msg.warning("请选择参与人群！");
                    return;
                }
                //判断任务类容
                if (!scope.isTaskNull()){
                    Msg.warning("请选择培训内容！");
                    return;
                }
                var id = "";
                if (sysUserInfo.getuserinfo().powerLV == "3") {
                    id = sysUserInfo.getuserinfo().user_ID;
                }
                //负责人id
                scope.personDataUser.UserList.forEach(function (data, index) {
                    id += (id.length > 0 ? ',' : '') + data.user_ID;
                });
                scope.taskObj.relationId = id;
                scope.onSave();
            }
            // 判断参与人群
            scope.isUserNull = function(){
                var a=false;
                if(scope.taskObj.arrage.hasOwnProperty('userList')&&scope.taskObj.arrage.userList.length>0){ // 用户
                    a= true;      
                }  
                if(scope.taskObj.arrage.hasOwnProperty('userOrganization')&&scope.taskObj.arrage.userOrganization.length>0){ // 部门
                    a= true;                         
                } 
                if(scope.taskObj.arrage.hasOwnProperty('userRole')&&scope.taskObj.arrage.userRole.length>0){ //角色 
                    a=true;   
                }
                if(scope.taskObj.arrage.hasOwnProperty('userGroup')&&scope.taskObj.arrage.userGroup.length>0){ //用户组
                    a=true;            
                }           
                return a;     
            }

            //判断数组中四属性是否存在
            scope.isTaskNull = function(){
                var a=false;                                       
               scope.taskObj.arragetype.forEach(function(data,index){
                    if(data.hasOwnProperty("kscList")&&data.kscList.length>0){
                        a=true;
                    }
                    if(data.hasOwnProperty("kseList")&&data.kseList.length>0){
                        a=true;
                    }
                    if(data.hasOwnProperty("ksfList")&&data.ksfList.length>0){
                        a=true;
                    }
                    if(data.hasOwnProperty("kssList")&&data.kssList.length>0){
                        a=true;
                    }
               });     
               return a;      
            }
//            //获取名字
//            scope.getName=function(){
//            console.log(scope.stuData.UserList.length);
//                angular.forEach(scope.stuData.UserList, function (cdata, index, array) {
//                    if(cdata.user_Name!=null&&cdata.user_Name!=undefined&&cdata.user_Name!=""){
//                        scope.taskObj.name += cdata.user_Name + ',';
//                    }
//                });
//            }
            /*********************************************文件上传开始**********************************************/
                var takUpFile  = scope.uploader //= new FileUploader();
                takUpFile.onWhenAddingFileFailed = function (item /*{File|FileLikeObject}*/, filter, options) {     // 选择文件后失败       0
                    console.info('选择文件后失败', item, filter, options);
                };
                takUpFile.onAfterAddingFile = function (fileItem) {  // 选择文件后 （成功）   0          
                    console.info('选择文件后', fileItem);
                    // 上传判断是不是有文件 
                    if (takUpFile.isUploading) {
                        MsgCon.alert("有文件正在上传。。");
                        return;
                    } else {
                        // 上传参数  
                        var upfileparam = "?state=2";
                        //上传文件路径
                        fileItem.url = RTS.uploadCover(upfileparam);
                    }
                };
                takUpFile.onAfterAddingAll = function (addedFileItems) { // 选择文件后添加到队列   1 
                    console.info('选择文件后添加到队列', addedFileItems);
                    // 上传判断是不是有文件                        
                    if (takUpFile.isUploading) {
                        MsgCon.alert("有文件正在上传。。");
                        return;
                    } else {                        
                        takUpFile.uploadAll();
                    }
                };
                // 开始上传
                takUpFile.onBeforeUploadItem = function (item) {    // 2 上传之前一项
                    console.info('上传之前一项', item);                    
                };
                takUpFile.onProgressItem = function (fileItem, progress) {   // 3 上传进度
                    console.info('上传进度', fileItem, progress);
                };
                takUpFile.onProgressAll = function (progress) {      //4 队列进度
                    console.info('队列进度', progress);
                };
                //fileItem 请求信息 response: 返回值status: 返回状态  headers: 请求头 
                takUpFile.onSuccessItem = function (fileItem, response, status, headers) {   // 5上传成功
                    console.info('5上传成功', fileItem, response, status, headers);                     
                    if(response.errorcode = "0"){
                        scope.taskObj.img = response.errormsg;
                    }
                };
                takUpFile.onErrorItem = function (fileItem, response, status, headers) {     // 上传地址有问题
                    console.info('上传地址有问题', fileItem, response, status, headers);                
                    Msg.error("连接不上服务器,请刷新重试！");
                    takUpFile.clearQueue();
                };                
                takUpFile.onCompleteItem = function (fileItem, response, status, headers) {  //6     单文件上传完成
                    console.info('单文件上传完成', fileItem, response, status, headers);
                    takUpFile.clearQueue();
                };
                takUpFile.onCompleteAll = function () {  // 6 单文件上传完成或者队列上传完成的时候
                    console.info('单文件上传完成或者队列上传完成的时候');
                    takUpFile.clearQueue();  // 上传完毕清除队列
                };
                /*********************************************文件上传结束**********************************************/
                 //************************************负责人*****************************************//
                // 人员选择器
                //批量添加负责人 选择器初始化
                scope.personDataUser = {

                    ApiOpen: false,
                    style: "",
                    menu: [{ "id": "User"}],
                    UserList: [],
                    ViceuserOrgList: [],
                    ViceuserRoleList: [],
                    ViceuserGroupList: [],
                    searchType: [],  //初始化教师查询
                    //                 searchTexts: 3,  // 初始化教师查询
                    DB: "0",
                    DBdata: []

                }

                // 新增负责人
                scope.showPersonSelect = function (event) {
                    scope.personDataUser.style = scope.mousePosition(event);
                    scope.personDataUser.ApiOpen = true;
                }
                 //获取负责人
                scope.getPerson = function () {
                    RTS.findRelationPeople({ userId: sysUserInfo.getuserinfo().user_ID, xid: scope.taskObj.id, xtype: 3 }).then(function (data) {
                        if (data.errorcode == "0" && data.datas != undefined) {
                            scope.personDataUser.UserList = data.datas;
                        }
                    });
                }
                if(scope.taskObj.id!=undefined&& scope.taskObj.id!=null&& scope.taskObj.id.length>0){
                    scope.getPerson();
                }
                
         },
         controller: function ($scope, $document) {
             //点击非指定区域，关闭显示层
             $document.bind("click", function (evt) {
                 var evt = window.event ? window.event : evt,
                target = evt.srcElement || evt.target;
                 if ($document[0].getElementById("erjiyunying_fenpeiqiye_middle") != null) {
                     var bt = $document[0].getElementById("erjiyunying_fenpeiqiye_middle").contains(target);
                     if (!bt) {
                         $scope.$apply(function () {
                             $scope.isOrgFlag = false; // 企业搜索列表框
                         });
                     }
                 }
             });
         }
         
     }
 } ]);
